kafka 安装

前言

kafka是使用Scala语言编写,运行在JVM环境下的开源分布式流式处理平台,专为分布式高吞吐量系统而设计。与其他消息传递系统相比,Kafka具有更好的吞吐量,内置分区,复制和固有的容错能力,这使得它非常适合大规模消息处理应用程序。能够很好的与Apache Storm,Spark,Hadoop等集成,用于处理实时流式数据分析和离线数据分析。

搭建环境

  1. jdk 1.8.0_161
  2. zookeeper-3.4.9
  3. kafka-1.1.0

安装步骤

  1. jdk 安装
  2. zookeeper 安装
  3. kafka 安装
1. 下载安装包

wget http://mirrors.hust.edu.cn/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz

2. 解压安装包

tar -xzf kafka_2.11-1.1.0.tgz

3. 修改zk地址,多个以,分隔

zookeeper.connect=192.168.1.111:2181

4. 启动zk

./zkServer.sh start

5. 启动kafka

./kafka-server-start.sh ../config/server.properties

6. 守护进程启动

./kafka-server-start.sh ../config/server.properties &

注:kafka已经为我们默认内置了单机zk,这里使用专门搭建的zk集群。启动内置zk服务命令如下:

./zookeeper-server-start.sh ../config/zookeeper.properties

测试验证

创建主题

创建主题时,需要指定复制因子(replication-factory)、分区数量、主题名称、zookeeper服务。

[root@localhost bin]# ./kafka-topics.sh --create --zookeeper 192.168.1.111:2181 --replication-factor 1 --partitions 1 --topic my-test-topic
Created topic "my-test-topic".

发送消息

kafka可以通过一个命令行客户端从文件或者标准输入终端中发送内容作为消息到kafka集群中,默认情况下,每一行将会被分割为一条消息。

[root@localhost bin]# ./kafka-console-producer.sh --broker-list localhost:9092 --topic my-test-topic
>hello kafka
>welcome to kafka.

消费消息

kafka也可以通过命令行把消息导入到标准输出中终端上。

[root@localhost bin]# ./kafka-console-consumer.sh --zookeeper 192.168.1.111:2181 --topic my-test-topic --from-beginning
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
hello kafka
welcome to kafka.

参考链接

  1. https://kafka.apache.org/quickstart
  2. https://github.com/huangqian/note/blob/master/Kafka/kafka_quick_start.md